
#ifndef _ABS_FILEREADER_H_
#define _ABS_FILEREADER_H_


#include "CoreApi.hpp"
#include "../OLApp/defines.hpp"
#include "AbstractObject.hpp"
#include <vtkUnstructuredGrid.h>
#include <QMetaType>
#include <QRunnable>
#include <QObject>
#include <QString>


namespace NSCore {

	class COREAPI  AbstractFileReader :
		public QObject,
		public QRunnable,
		public AbstractObject
	{
		Q_OBJECT
	public:
		AbstractFileReader(int id, QString filename);
		AbstractFileReader();
		virtual ~AbstractFileReader();
		virtual void run() = 0;
	public:
		/*set*/
		inline void setReaderFile(QString filename) { m_filename = filename; };
		inline void setReaderId(int id) { m_id = id; };
		/*set*/
		inline QString getReaderFile() { return m_filename; };
		inline int getReaderId() { return m_id; };

	public slots:

		/*override*/
	public:
		inline QString className() override { return "AbstractFileReader"; };

	protected:

	protected:
		QString m_filename{};
		int m_id{ -1 };

	};
}

#endif




